package com.dragoncombin.homework.Module03.Problem05;

import java.util.*;

// 玩家类
public class Player {

    // 三个玩家共用一副牌
    private int id;
    private String name;
    private static final List<PokerCard> deckCard = new DeckOfCards().getCards();    // 牌堆
    private final Set<PokerCard> playerCards = new TreeSet<>(); // 玩家手中的牌

    public Player() {
    }

    public Player(int id, String name) {
        setId(id);
        setName(name);
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    // 定义玩家洗牌的方法
    public void shuffleCards() {
        Collections.shuffle(deckCard);
    }

    // 定义玩家抓牌的方法
    public boolean getCard() {
        // 每个玩家依次取牌，直到剩余3张底牌
        if (deckCard.size() > 3) {
            playerCards.add(deckCard.remove(0));
            return true;
        }
        return false;
    }

    // 查看玩家手中的牌方法
    public void printPlayerCards() {
        System.out.println("玩家 " + this.name + " 的牌"+"("+ playerCards.size() + "张)" + "分别为: ");
        System.out.println(playerCards);
    }

    // 查看牌堆中剩余牌(底牌)的方法
    public static void printDeckCard() {
        System.out.println(deckCard);
    }
}
